import os

def is_leap(year):
    # 判断是否为闰年：能被400整除 或（能被4整除但不能被100整除）
    return (year % 400 == 0) or (year % 4 == 0 and year % 100 != 0)

def compute_answer(n):
    # 计算从2022年9月1日到n年4月23日相识的天数
    ans = 30 + 31 + 30 + 31  # 2022年9月剩余部分：9月(30天，不含当天) + 10月31 + 11月30 + 12月31 = 122
    for year in range(2023, n):
        if is_leap(year):
            ans += 366
        else:
            ans += 365
    # n 年1月到4月23日
    if is_leap(n):
        ans += (31 + 29 + 31 + 23)
    else:
        ans += (31 + 28 + 31 + 23)
    return ans

def process_input_files(input_dir, output_dir):
    # 如果输出目录不存在则创建
    os.makedirs(output_dir, exist_ok=True)
    
    # 获取所有输入文件，按文件名排序
    input_files = sorted([f for f in os.listdir(input_dir) if f.endswith(".in")])
    
    for input_file in input_files:
        input_path = os.path.join(input_dir, input_file)
        with open(input_path, "r") as f:
            content = f.read().strip()
            if not content:
                print(f"文件 {input_file} 内容为空，跳过。")
                continue
            n = int(content)
        answer = compute_answer(n)
        output_file = os.path.splitext(input_file)[0] + ".out"
        output_path = os.path.join(output_dir, output_file)
        with open(output_path, "w") as f:
            f.write(str(answer))
        print(f"处理文件 {input_file} -> {output_file}：输入 {n} 输出 {answer}")

if __name__ == "__main__":
    input_directory = r"C:\Users\ASUS\Desktop\2025-BBUCPC\2025校赛出题\A题\A_inputs"
    output_directory = r"C:\Users\ASUS\Desktop\2025-BBUCPC\2025校赛出题\A题\A_outputs"
    process_input_files(input_directory, output_directory)
